]> permondes.de Git - Analog_Engine.git/blob - scripts/alpaca60 Arneodo.LACE
LACE: document re-structured, consistent syntax; Aplaca60
[Analog_Engine.git] / scripts / alpaca60 Arneodo.LACE
1 # Arneodo-Attractor (alpaca_60)
2 # x' = y, x0 = 1
3 # y' = z, y0 = 1
4 # z' = a*x-b*y-z-c*x^3, z0=0
5 # a=5,5; b=3,5; c=1
6 #
7 # SCALING
8 # the problem is patched as designed, but x runs out of range
9 # Trial: x = 5*xn (xn = new x), y = 10*yn, z = 15*zn
10 # 5*xn' = 10*y => xn' = 2*y
11 # 10*y' = 15*zn => y' = 1,5*z
12 # 15*zn' = a*5*xn-b*10*yn-15*zn-c*(5*xn)^3 => z' = a*5/15*xn-b*10/15*yn-15/15*zn-c*125/15*xn^3
13 #
14 # xn' = d1*y
15 # yn' = e1*z
16 # zn' = a1*xn-b1*yn-zn-c1*xn^3
17 #
18 # a1 = a*5/15 = 1,83
19 # b1 = b*10/15 = 2,33
20 # c1 = c*5^3/15 = 8,33
21 # d1 = 2
22 # e1 = 1,5
23 #
24 # in the following, the original terms are being used,
25
26 coefficient.1 -> a/10 # 0,183 -> better results with 0,154
27 coefficient.2 -> b/10 # 0,233
28 coefficient.3 -> c/10 # 0,833
29 coefficient.4(+1) -> x0 # 0,200
30 coefficient.5(+1) -> y0 # 0,100
31 coefficient.6(+1) -> z0 # 0
32 coefficient.7 -> d/10 # 0,200
33 coefficient.8 -> e/10 # 0,150
34
35 iintegrate 10*: x' -> -x
36 IC: x0
37 iintegrate 10*: y' -> -y
38 IC: y0
39 iintegrate z' -> -z
40 IC: z0
41
42 invert -x -> x
43
44 invert -y -> y
45 cmultiply y, d/10 -> d/10*y
46 assign d/10*y -> x'
47
48 invert -z -> z
49 cmultiply z, e/10 -> e/10*z
50 assign e/10*z -> y'
51
52 cmultiply x, a/10 -> a/10*x
53 cmultiply -y, b/10 -> -b/10*y
54
55 multiply -x, -x -> x^2
56 multiply x^2, -x -> -x^3
57 cmultiply -x^3, c/10 -> -c/10*x^3
58
59 isum 10*:a/10*x, 10*:-b/10*y, -z, 10*:-c/10*x^3 -> -(a*x-b*y-z-c*x^3)
60 invert -(a*x-b*y-z-c*x^3) -> a*x-b*y-z-c*x^3
61 assign a*x-b*y-z-c*x^3 -> z'
62
63 output x -> out.x
64 output y -> out.y
65 output z -> out.z